package com.algorithm;


/**
 * 链表中倒数最后k个结点
 * 题目：输入一个链表，输出一个链表，该输出链表包含原链表中从倒数第k个结点至尾节点的全部节点。
 * 如果该链表长度小于k，请返回一个长度为 0 的链表。
 * 思路;使用双指针，第一个指针先移动K步，然后两个指针一起移动，当第一个指针返回空的时候，第二个指针的位置就是第倒数k的位置。
 */
public class FindKthToTail {

    public ListNode FindKthToTail (ListNode pHead, int k) {
        if (pHead==null){
            return null;
        }
        ListNode first=pHead;
        ListNode second=pHead;
        while (k>0){
            if (first==null){
                return null;
            }
            first=first.next;
            k--;
        }
        while (first!=null){
            first=first.next;
            second=second.next;
        }
        return second;
    }
}
